package com.settlement.system.model.entity.common;

import java.util.Date;

import java.io.Serializable;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.settlement.system.converter.YesOrNoConverter;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * 订单稽核-关账表
 * @author Ximi
 * @since 2020-09-24
 */
@Data
@ExcelIgnoreUnannotated
@HeadStyle(fillBackgroundColor = 9,fillForegroundColor = 9)
@HeadRowHeight(value = 20)
@HeadFontStyle(fontHeightInPoints = 14)
public class TblOrderCloseAccount extends BaseModel implements Serializable {


    /**
     * 入账主体
     */
    @ExcelProperty(value = "账簿简称")
    @ApiModelProperty(value = "账簿简称")
    private String enterAccountBody;

    /**
     * 渠道编码
     */
    @ExcelProperty(value = "渠道编码")
    @ApiModelProperty(value = "渠道编码")
    private String channelNo;

    /**
     * 渠道
     */
    @ExcelProperty(value = "渠道")
    @ApiModelProperty(value = "渠道")
    private String channelName;

    /**
     * 订单三级来源编码
     */
    @ExcelProperty(value = "订单三级来源编码")
    @ApiModelProperty(value = "订单三级来源编码")
    private String threeLevelChannelNo;

    /**
     * 订单三级来源名称
     */
    @ExcelProperty(value = "订单三级来源名称")
    @ApiModelProperty(value = "订单三级来源名称")
    private String threeLevelChannelName;

    /**
     * 线下打款账号
     */
    @ExcelProperty(value = "店铺账号")
    @ApiModelProperty(value = "店铺账号")
    private String shopAccount;

    /**
     * 初始日期
     */
    @ExcelProperty(value = "初始日期")
    @ApiModelProperty(value = "初始日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date initialDate;

    /**
     * 实际关账日期
     */
    @ExcelProperty(value = "关账日期")
    @ApiModelProperty(value = "关账日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date realCloseAccountDate;

    /**
     * 有效关账日期
     */
    private Date validCloseAccountDate;

    /**
     * 需要回滚的关账日期
     */
    private Date needRollbackAccountData;

    /**
     * 是否需要稽核 0:否,1:是 2人工不稽核 3 人工稽核'
     */
    @ExcelProperty(value = "是否需要稽核",converter = YesOrNoConverter.class)
    @ApiModelProperty(value = "是否需要稽核")
    private String isAduit;


    public String getEnterAccountBody() {
        return enterAccountBody;
    }

    public void setEnterAccountBody(String enterAccountBody) {
        this.enterAccountBody = enterAccountBody;
    }

    public String getChannelNo() {
        return channelNo;
    }

    public void setChannelNo(String channelNo) {
        this.channelNo = channelNo;
    }

    public String getChannelName() {
        return channelName;
    }

    public void setChannelName(String channelName) {
        this.channelName = channelName;
    }

    public String getThreeLevelChannelNo() {
        return threeLevelChannelNo;
    }

    public void setThreeLevelChannelNo(String threeLevelChannelNo) {
        this.threeLevelChannelNo = threeLevelChannelNo;
    }

    public String getThreeLevelChannelName() {
        return threeLevelChannelName;
    }

    public void setThreeLevelChannelName(String threeLevelChannelName) {
        this.threeLevelChannelName = threeLevelChannelName;
    }

    public String getShopAccount() {
        return shopAccount;
    }

    public void setShopAccount(String shopAccount) {
        this.shopAccount = shopAccount;
    }

    public Date getInitialDate() {
        return initialDate;
    }

    public void setInitialDate(Date initialDate) {
        this.initialDate = initialDate;
    }

    public Date getRealCloseAccountDate() {
        return realCloseAccountDate;
    }

    public void setRealCloseAccountDate(Date realCloseAccountDate) {
        this.realCloseAccountDate = realCloseAccountDate;
    }

    public Date getValidCloseAccountDate() {
        return validCloseAccountDate;
    }

    public void setValidCloseAccountDate(Date validCloseAccountDate) {
        this.validCloseAccountDate = validCloseAccountDate;
    }

    public Date getNeedRollbackAccountData() {
        return needRollbackAccountData;
    }

    public void setNeedRollbackAccountData(Date needRollbackAccountData) {
        this.needRollbackAccountData = needRollbackAccountData;
    }

}
